# -*- coding: utf-8 -*-
# author: sixmillions
# date: 2022/4/3

'''
numpy提供的系列化方式

np.save数组在默认情况下是以未压缩的格式进行存储的，后缀名是.npy
如果文件存放路径中没写.npy。后缀名会被自动加上。

硬盘上的数组可以使用np.load进行载入

可以使用np.savez将数组作为参数传递给该函数，用于在未压缩文件中保存多个数组

'''

import numpy as np

arr_1 = np.random.randint(10, 20, size=20).reshape(4, 5)
arr_2 = np.random.randint(20, 30, size=20).reshape(5, 4)
print(1, arr_1)
print(2, arr_2)

# 保存
np.save('arr_1', arr_1)
# np.save('arr_1.npy', arr_1) # 效果一样

# 加载
arr_3 = np.load('arr_1.npy')
print(3, arr_3)

# 保存多个
np.savez('arr_1_2.npz', a=arr_1, b=arr_2)

# load多个
arrs = np.load('arr_1_2.npz')
print(4, arrs)
print(5, arrs['a'])
print(6, arrs['b'])
